package com.webqq.client.service;

import org.springframework.web.bind.annotation.GetMapping;

/**
 * Created by Administrator on 2017/9/29 0029.
 */

public interface WebwxService {
    /**
     * 获取登录用户数据
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/get_user_info ")
    String getUserInfo()throws Exception;

    /**
     * 	获取好友数据
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/get_friend_info ")
    String getFriendInfo() throws Exception;

    /**
     * 获取群组数据
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/get_group_info ")
    String getGroupInfo() throws Exception;

    /**
     * 获取用户或群组头像
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/get_avatar ")
    String getAvatar() throws Exception;

    /**
     * 搜索好友对象
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/search_friend ")
    String searchFriend() throws Exception;

    /**
     * 	搜索群组对象
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/search_group ")
    String searchGroup() throws Exception;

    /**
     * 创建群组
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/create_group ")
    String createGroup() throws Exception;

    /**
     * 邀请好友加入群组
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/invite_friend  ")
    String inviteFriend() throws Exception;

    /**
     * 向指定的群成员发送好友请求
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/make_friend   ")
    String makeFriend() throws Exception;

    /**
     *设置群组的显示名称
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/set_group_displayname ")
    String setGroupDisplayname() throws Exception;

    /**
     * 移除群组成员
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/kick_group_member  ")
    String kickGroupMember() throws Exception;

    /**
     * 修改好友或群成员备注名称
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/set_markname  ")
    String setMarkname() throws Exception;

    /**
     * 设置或取消群组、好友置顶
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/stick    ")
    String stick() throws Exception;

    /**
     * 	接受好友验证申请
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/accept_friend_request")
    String acceptFriendRequest() throws Exception;


    /**
     * 发送好友消息
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/send_friend_message ")
    String sendFriendMessage() throws Exception;

    /**
     * 发送群组消息
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/send_group_message ")
    String sendGroupMessage() throws Exception;

    /**
     * 上传媒体文件，获取media_id, 用于稍后发送
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/upload_media  ")
    String uploadMedia()throws Exception;

    /**
     * 采用HTTP GET请求长轮询机制获取事件（消息）
       API只能工作在非阻塞模式下，功能受限
       不如POST上报的方式获取的信息全面
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/check_event")
    String checkEvent()throws Exception;

    /**
     * 获取程序运行信息
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/get_client_info ")
    String getClientInfo()throws Exception;

    /**
     * 终止程序运行
     * @return
     * @throws Exception
     */
    @GetMapping("/openwx/stop_client ")
    String stopClient()throws Exception;
}
